Skip to content

Route bridge flows through QuotedCalls#2

Open
yorhodes wants to merge 9 commits intohyperlane-xyz:mainfrom
yorhodes:quoted-calls-router
Open

Route bridge flows through QuotedCalls#2
yorhodes wants to merge 9 commits intohyperlane-xyz:mainfrom
yorhodes:quoted-calls-router

Conversation

@yorhodes
Copy link
Copy Markdown
Member

Summary

  • merge Hyperlane bridge and cross-chain execution into the single QUOTED_CALLS router entrypoint
  • remove the legacy router-native bridge surface and route tests through QuotedCalls
  • update the Hyperlane core dependency and add local Permit2 compatibility shims for the linked package import shape

Testing

  • forge test --offline --match-path test/foundry-tests/bridge/QuoteExactInput.t.sol

Related

airtoonricardo and others added 9 commits July 15, 2025 13:43
* chore: update hl dependency

* chore: remove foundry hl dependency, fix tests

* refactor: itokenbridge => ixvelotokenbridge

* chore: bump to node v22

* test: use icarouters in prod
* chore: update foundry version

* style: fix lint
- Resolve merge conflicts favoring upstream values
- Upgrade @hyperlane-xyz/core from 8.1.1 to 11.3.1
- Add @openzeppelin/contracts-v4 and contracts-upgradeable-v4 as
  aliased deps (workaround for core not declaring OZ as dependency)
- Update BridgeRouter to use v11 transferRemote API (3 args)
- Remove unused StandardHookMetadata import
- Use ITokenFee for quoteTransferRemote (defined on parent interface)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace HypXERC20/HypERC20Collateral concrete imports with ITokenBridge
- Remove redundant token() validation (bridge's transferRemote reverts on mismatch)
- Remove unused transferRemote from IXVeloTokenBridge interface
- Restore BaseForkFixture.t.sol to upstream/main
- Fix stack-too-deep in Dispatcher by scoping bridge token variables
- Update tests to expect generic reverts for wrong-token cases

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Make 12 RouterImmutables public→internal (removes external getter dispatch
entries) and merge duplicate bridge execution functions into single
executeHypBridge. Runtime bytecode drops from 24,641 to 23,759 bytes,
leaving 817 bytes of margin under the 24,576 byte limit.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​hyperlane-xyz/​core@​7.1.4 ⏵ 11.3.191 +610093 +699 +370 -20

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants